(css: "font-size: 250%;") [<center>GALACTIC
LOOM</center>]
<center>[[..o.. -> intro1]]</center>
(display: "sound load")[<center>(display: "Axis1A graphic")</center>](set: $axis1 to "Axis1A")<!-- COMMENT: This displays one graphical composition that corresponds to the emotion on axis 1. Then, the axis1 global variable is set to the main emotion of the current node --><!-- COMMENT: What follows is a simple 'if, else-if' function that will display different text depending on the axis of the PREVIOUS node. This is meant to highthen/create realationality between the emotional axis of the CURRENT node and the emotional axis of the PREVIOUS one. Additionally, it determines the appropiate temporal axis so that it may be read by the sound engine -->
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)<!-- COMMENT: This timer conditional assures the elements of the passage will not instantiate until the graphic animation has finished running.-->(display: "multinode story first half")<!-- COMMENT: This function will display, in a linear fashion, a story that develops throughout several nodes. The perspective from which this story is told will change depending on the axis of the current node.-->
<!-- COMMENT: This function will display the first half of couplet that corresponds to this node based on the Axis3 that was active in the previous node. It also determines a random alignment for this particular verse-->(either: (align: "==>"), (align: "<=="))[(if: $previousAxis3 is "Axis3A")[(set: $axis2 to "Axis2C")in **chas**ms **gorged** with **lives** that **hum**](else-if: $previousAxis3 is "Axis3B")[(set: $axis2 to "Axis2B")in **pla**nets **bound** by **hu**man **skin**](else-if: $previousAxis3 is "Axis3C")[(set: $axis2 to "Axis2A")in**side** a **co**ral of **pla**netary **breadth**](else-if: $previousAxis3 is "Axis3D")[(set: $axis2 to "Axis2B")in **ci**ties **co**vered in **dan**delion **buds**](else-if: $previousAxis3 is "Axis3E")[(set: $axis2 to "Axis2A")be**neath** the **fig** that s**tran**gles it **all**](else-if: $previousAxis3 is "Axis3F")[(set: $axis2 to "Axis2C")in**side** a **cos**mic **span** of **moss**](else-if: $previousAxis3 is "Axis3G")[(set: $axis2 to "Axis2C")be**neath** a **shroud** of e**ter**nal **mist**](else-if: $previousAxis3 is "Axis3H")[(set: $axis2 to "Axis2B")a**loft** a **floa**ting **ear**then s**phere**](else-if: $previousAxis3 is "Axis3I")[(set: $axis2 to "Axis2A")a**mid** per**pe**tual tem**pes**tuous **gales**]]
(display: "multinode story second half") <!-- COMMENT: This function will continue the multinode story started above-->
<!-- COMMENT: This function will display the second half of couplet that corresponds to this node based on the Axis3 that was active in the previous node. It also determines a random alignment for this particular verse-->(either: (align: "==>"), (align: "<=="))[(if: $previousAxis3 is "Axis3A")[as **swarms** of **bees** e**rupt** like **foam**](else-if: $previousAxis3 is "Axis3B")[and (if: $plural is "ON")[**dwell**](else:)[**dwells**] the **ve**sseled **blood** with**in**](else-if: $previousAxis3 is "Axis3C")[and (if: $plural is "ON")[**re**plicate](else:)[**re**plicates] with **vi**olent **frac**tal **depth**](else-if: $previousAxis3 is "Axis3D")[se**rene** a**mid** a **dan**delion **flood**](else-if: $previousAxis3 is "Axis3E")[en**tan**gled in **roots** both **big** and **small**](else-if: $previousAxis3 is "Axis3F")[and (if: $plural is "ON")[dis**tri**bute](else:)[dis**tri**butes] **mois**ture **far** and a**cross**](else-if: $previousAxis3 is "Axis3G")[s**prou**ting **my**riad **fog**filled **cyst**](else-if: $previousAxis3 is "Axis3H")[as **move**ment **makes** the **globe** co**here**](else-if: $previousAxis3 is "Axis3I")[ig**no**ring de**bris** and **sha**ttered **sails**]]
(display: "sound continue")<!-- COMMENT: This prepares the audio tracks so that only the intended ones play --><!-- COMMENT: All the nodes called 'mono', have the exact same functions explained in this node. The only things that change are the axes, the tags, and the textual contents.-->(set: $previousAxis3 to $axis3)<!-- COMMENT: This function will remember what axis 3 was used in the current node when this information is called for in the upcoming node-->
(display: "Axis1A engine") <!-- COMMENT: This function calls up the corresponding 'engine', which will run the entanglement algorithm and determine which fragments comes next-->]][<center>(display: "Axis1B graphic")</center>](set: $axis1 to "Axis1B")
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(display: "multinode story first half")
(either: (align: "==>"), (align: "<=="))[(if: $previousAxis3 is "Axis3A")[(set: $axis2 to "Axis2A")in**side** a **hive** the **size** of a **room**](else-if: $previousAxis3 is "Axis3B")[(set: $axis2 to "Axis2C")in**side** the **coat** of a **hun**gry **man**](else-if: $previousAxis3 is "Axis3C")[(set: $axis2 to "Axis2B")right **next** to the **co**ral that **car**pets the **walls**](else-if: $previousAxis3 is "Axis3D")[(set: $axis2 to "Axis2A")in a s**trip** where **hos**tile **dan**delions **nest**](else-if: $previousAxis3 is "Axis3E")[(set: $axis2 to "Axis2C")a**round** a **fig** e**nor**mous and **ripe**](else-if: $previousAxis3 is "Axis3F")[(set: $axis2 to "Axis2B")on **top** of a **street** with **moss** over**flown**](else-if: $previousAxis3 is "Axis3G")[(set: $axis2 to "Axis2A")in a **su**dden **swirl** of **fu**rious **cold**](else-if: $previousAxis3 is "Axis3H")[(set: $axis2 to "Axis2C")a**mid** ten **rocks** that **sing** and **reel**](else-if: $previousAxis3 is "Axis3I")[(set: $axis2 to "Axis2B")sur**roun**ded by **sub**tle, **harm**less **breeze**]]
(display: "multinode story second half")
(either: (align: "==>"), (align: "<=="))[(if: $previousAxis3 is "Axis3A")[and (if: $plural is "ON")[**drown**](else:)[**drowns**] con**su**med by **bee**hive **blooms**](else-if: $previousAxis3 is "Axis3B")[to **sing** and **play**, to **love** and **dance**](else-if: $previousAxis3 is "Axis3C")[and (if: $plural is "ON")[s**leep**](else:)[s**leeps**] in **co**ral en**crus**ted **shawls**](else-if: $previousAxis3 is "Axis3D")[as **glu**ttonous **puffs** find **lungs** to in**fest**](else-if: $previousAxis3 is "Axis3E")[un**lea**shing **cri**tters of all **shape** and **type**](else-if: $previousAxis3 is "Axis3F")[and (if: $plural is "ON")[**rest**](else:)[**rests**] in a **green** en**mois**tured **throne**](else-if: $previousAxis3 is "Axis3G")[un**til** the **gla**cial **lure** takes **hold**](else-if: $previousAxis3 is "Axis3H")[to **weave** their **mu**sic **in**to **steel**](else-if: $previousAxis3 is "Axis3I")[as **e**very **tem**pest **lays** at **ease**]]
(display: "sound continue")(set: $previousAxis3 to $axis3)
(display: "Axis1B engine")]][<center>(display: "Axis1C graphic")</center>](set: $axis1 to "Axis1C")
(set: $sec to 4)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(display: "multinode story first half")
(either: (align: "==>"), (align: "<=="))[(if: $previousAxis3 is "Axis3A")[(set: $axis2 to "Axis2B")in**side** a **ho**nied, **mi**nuscule co**coon**](else-if: $previousAxis3 is "Axis3B")[(set: $axis2 to "Axis2A")with**in** a **hu**man **can**cerous **cell**](else-if: $previousAxis3 is "Axis3C")[(set: $axis2 to "Axis2C")vi**bra**ting **‘round** a **po**lyp’s **mouth**](else-if: $previousAxis3 is "Axis3D")[(set: $axis2 to "Axis2C")in**side** a **floa**ting **dan**delion **sea**](else-if: $previousAxis3 is "Axis3E")[(set: $axis2 to "Axis2B")be**neath** the **tongue** of a **hu**mmingbird **chick**](else-if: $previousAxis3 is "Axis3F")[(set: $axis2 to "Axis2A")be**tween** s**trands** of **mus**cle and **bone**](else-if: $previousAxis3 is "Axis3G")[(set: $axis2 to "Axis2B")in**side** a **fa**lling **drop** of **rain**](else-if: $previousAxis3 is "Axis3H")[(set: $axis2 to "Axis2A")with**in** the **heart** of a **grain** of **sand**](else-if: $previousAxis3 is "Axis3I")[(set: $axis2 to "Axis2C")with**in** a **ru**nning **dog’s** s**nout**]]
(display: "multinode story second half")
(either: (align: "==>"), (align: "<=="))[(if: $previousAxis3 is "Axis3A")[to **sleep** and **wait** for a**no**ther **moon**](else-if: $previousAxis3 is "Axis3B")[and (if: $plural is "ON")[**con**jure](else:)[**con**jures] **ti**ny **fu**neral **smells**](else-if: $previousAxis3 is "Axis3C")[to **reach** where **ba**sal **plates** s**prout**](else-if: $previousAxis3 is "Axis3D")[and (if: $plural is "ON")[**nur**ture](else:)[**nur**tures] **hun**gry **dan**delion **seed**](else-if: $previousAxis3 is "Axis3E")[as **fig** sap **moist** grows **sweet** and **thick**](else-if: $previousAxis3 is "Axis3F")[and (if: $plural is "ON")[be**come**](else:)[be**comes**] a **meal** for **moss** re**grown**](else-if: $previousAxis3 is "Axis3G")[as **rain**full **choirs** be**gin** to **wane**](else-if: $previousAxis3 is "Axis3H")[to up**set** a **mi**nuscule **pla**netary **gland**](else-if: $previousAxis3 is "Axis3I")[as **air** threads **in** and **wind** threads **out**]]
(display: "sound continue")(set: $previousAxis3 to $axis3)
(display: "Axis1C engine")]]
<center>(css: "font-size: 150%;")[.:.o.:.]
[(display: "final graphic")]
(set: $sec to 5)(live: 1s)[(set: $sec to it - 1)(if: $sec is 0) [(stop:)(link:"--weave again--")[(reload:)]<script>audio1.volume = 0; audio2.volume = 0; audio3.volume = 0; audio4.volume = 0; audio5.volume = 0; audio6.volume = 0; audio7.volume = 0; audio8.volume = 0; audio9.volume = 0; audio10.volume = 0; audio11.volume = 0; audio12.volume = 0; audio13.volume = 0; audio14.volume = 0; audio15.volume = 0; audio16.volume = 0; audio17.volume = 0; audio18.volume = 0; audio19.volume = 0; audio20.volume = 0; audio21.volume = 0; audio22.volume = 0; audio23.volume = 0; audio24.volume = 0; audio25.volume = 1</script>]]</center><!-- COMMENT: This function will completely reload the story, reseting all the variables and progression and starting everything from scratch-->
[<center>(display: "loading graphic")</center>]<!-- COMMENT: This serves no functional purpose, but it does convey the idea that the machine is doing some work.-->
<center>weaving(display: "elipsis graphic")</center>
<!-- COMMENT: The following operation sets up the global counter variable. Then, the selection array (initialSelection, in this case) is set up. Then, the array is populated with any item from the 'passages' array (that is, the array that containts all the existing nodes) that contains the tags the machine will work with. Then, if the selection array was filled with any passages (that is, if the lenght of the array if more than 0), the temporal variable "random" is created by determining a random number between 1 and the total lenght of the selection array. Then, the temporal variable "target" is created by choosing one node from the selection array that is located in whatever place the "random" variable determined. E.g. If the "random" variable came up as 4, the "target" variable will be set as the 4th item in the selection array, which will always be one of the nodes that contains the tags determined above. Then, the link is set to go to "target". Finally, the opening time conditional statement makes the following operation execute (and, thus, display the button) only after the loading graphic animation has ended--><center>(set: $sec to 5)(live: 1s)[(set: $sec to it - 1)(if: $sec < 0) [(stop:){(set: $counter to 1)(set: $multi to (either: "A", "B", "C"))(set: $previousAxis3 to (either: "Axis3A", "Axis3B", "Axis3C", "Axis3D", "Axis3E", "Axis3F", "Axis3G", "Axis3H", "Axis3I"))(set: $initialSelection to (a:))(set: $initialSelection to (find: _item where _item's tags contains "Axis1A" or _item's tags contains "Axis1B" or _item's tags contains "Axis1C", ...(passages:)))}(if: $initialSelection's length > 0)[(set: _random to (random: 1, $initialSelection's length)) (set: _target to $initialSelection's (_random)'s name) (link-goto: "..o..", _target)]]]</center>
(display: "sound sync")<!-- COMMENT:This makes sures all the sound files are synchronized-->
<!-- COMMENT: All the 'engine' algorithms function in the same way, albeit each have their own individual instances of some variables. These engines are also, in essence, very similar to the selection algorithm in the 'intro1' node, however, they do have an added level of complexity. I will now explain how the flow of processes works: First, each time the engine is called, the global counter variable advances by 1. Then, the global axis1 variable is set to the axis1 of the current node. Then, I set up two variables (namely, 'endingKeyOne' and 'endingKeyTwo') to 'no'. This is important as these variables will be checked in each iteration of the algorithm to see if the machine instantiates another 'random' node or if it goes to the ending sequence once all the 'random' nodes have been instanciated once. Then, I set the 'StillNew' array to populate with all the passages that are not in the 'history' array. That is, all the 'random' nodes that have not been instanciated yet. Then, I set the array 'notCurrent' to populate with all the passages that are not the current passage (an inelegant solution, but I needed to keep the current passage from being available to the selection algorithm, and the current passage is not part of the 'history' array, so this is a workaround). Then, I set up the selection array (axis1ASelection, in this case). Then, I populate this array with any item from the 'passages' array (that is, the array that containts all the existing nodes) that contains the tags 'joy' or 'sadness' (to prevent, whenever possible, two nodes from the same axis1 category from instantiating one after another) and that are part of the 'StillNew' array. Then, if the selection array was populated with any passages (that is, if the lenght of the array is more than 0), the temporal variable "random" is created by determining a random number between 1 and the total lenght of the selection array. Then, the temporal variable "target" is created by choosing one node from the selection array that is located in whatever place the "random" variable determined. Then, the link is set to go to 'target'. Now, if the the lenght of the selection array is equal to 0 (that is, there are no more nodes from other scales, and only other nodes from the current axis1 remain), then I set the selection array to a blank value and change the 'endingKeyOne' variable to 'yes'. Now, if the selection array is set to a blank value, the same selection algorithm will be run again, with the difference that now it will look for nodes that have the same tag as the current node. This will allow for nodes of the same axis1 category to instantiate one after another, but only if there are no more nodes of other categories of axis1 left. Finally, if there are no nodes tagged with any axis1 category left, the 'endingKeyTwo' variable will be set to 'yes'. If both the 'endingKeyOne' and 'endingKeyTwo' variables are set to 'yes', the link will take the reader to the closing sequence. Alternatively, since this particular story is set up to finish upter a predetermined number of nodes, I just set up a conditional function that takes the reader to the closing sequence once the counter that I set at the beginning hits a predetermined amount --><center>(if: $counter is 3)[(link-goto: "..o..", "Ending")] (else:)[(set: $counter to $counter+1)(set: $multi to (either: "A", "B", "C"))(set: $previousAxis1 to "Axis1A")(set: $endingKeyOne to "no")(set: $endingKeyTwo to "no")(set: $StillNew to (passages: _passage where not (_passage's name is in (history:))))(set: $notCurrent to (passages: _passage where not (_passage's name is (passage:)'s name))){(set: $axis1ASelection to (a:))(set: $axis1ASelection to (find: _item where _item's tags contains "Axis1B" or _item's tags contains "Axis1C" and _item is in $StillNew, ...(passages:)))} (if: $axis1ASelection's length > 0)[(set: _random to (random: 1, $axis1ASelection's length)) (set: _target to $axis1ASelection's (_random)'s name) (link-goto: "..o..", _target)] (else: ) [(set: $axis1ASelection to "")(set: $endingKeyOne to "yes")](if: $axis1ASelection is "") [{(set: $axis1ASelection to (a:))(set: $axis1ASelection to (find: _item where _item's tags contains "Axis1A" and _item is in $StillNew and _item is in $notCurrent, ...(passages:)))} (if: $axis1ASelection's length > 0)[(set: _random to (random: 1, $axis1ASelection's length)) (set: _target to $axis1ASelection's (_random)'s name) (link-goto: "..o..", _target)](else:) [(set: $endingKeyTwo to "yes")]](else:) [(set: $endingKeyTwo to "yes")] (if: $endingKeyOne is $endingKeyTwo) [(link-goto: "..o..", "Ending")]]<center>(if: $counter is 3)[(link-goto: "..o..", "Ending")] (else:)[(set: $counter to $counter+1)(set: $multi to (either: "A", "B", "C"))(set: $previousAxis1 to "Axis1B")(set: $endingKeyOne to "no")(set: $endingKeyTwo to "no")(set: $StillNew to (passages: _passage where not (_passage's name is in (history:))))(set: $notCurrent to (passages: _passage where not (_passage's name is (passage:)'s name))){(set: $axis1BSelection to (a:))(set: $axis1BSelection to (find: _item where _item's tags contains "Axis1A" or _item's tags contains "Axis1C" and _item is in $StillNew, ...(passages:)))} (if: $axis1BSelection's length > 0)[(set: _random to (random: 1, $axis1BSelection's length)) (set: _target to $axis1BSelection's (_random)'s name) (link-goto: "..o..", _target)] (else: ) [(set: $axis1BSelection to "")(set: $endingKeyOne to "yes")](if: $axis1BSelection is "") [{(set: $axis1BSelection to (a:))(set: $axis1BSelection to (find: _item where _item's tags contains "Axis1B" and _item is in $StillNew and _item is in $notCurrent, ...(passages:)))} (if: $axis1BSelection's length > 0)[(set: _random to (random: 1, $axis1BSelection's length)) (set: _target to $axis1BSelection's (_random)'s name) (link-goto: "..o..", _target)](else:) [(set: $endingKeyTwo to "yes")]](else:) [(set: $endingKeyTwo to "yes")] (if: $endingKeyOne is $endingKeyTwo) [(link-goto: "..o..", "Ending")]]<center>(if: $counter is 3)[(link-goto: "..o..", "Ending")] (else:)[(set: $counter to $counter+1)(set: $multi to (either: "A", "B", "C"))(set: $previousAxis1 to "Axis1C")(set: $endingKeyOne to "no")(set: $endingKeyTwo to "no")(set: $StillNew to (passages: _passage where not (_passage's name is in (history:))))(set: $notCurrent to (passages: _passage where not (_passage's name is (passage:)'s name))){(set: $axis1CSelection to (a:))(set: $axis1CSelection to (find: _item where _item's tags contains "Axis1A" or _item's tags contains "Axis1B" and _item is in $StillNew, ...(passages:)))} (if: $axis1CSelection's length > 0)[(set: _random to (random: 1, $axis1CSelection's length)) (set: _target to $axis1CSelection's (_random)'s name) (link-goto: "..o..", _target)] (else: ) [(set: $axis1CSelection to "")(set: $endingKeyOne to "yes")](if: $axis1CSelection is "") [{(set: $axis1CSelection to (a:))(set: $axis1CSelection to (find: _item where _item's tags contains "Axis1C" and _item is in $StillNew and _item is in $notCurrent, ...(passages:)))} (if: $axis1CSelection's length > 0)[(set: _random to (random: 1, $axis1CSelection's length)) (set: _target to $axis1CSelection's (_random)'s name) (link-goto: "..o..", _target)](else:) [(set: $endingKeyTwo to "yes")]](else:) [(set: $endingKeyTwo to "yes")] (if: $endingKeyOne is $endingKeyTwo) [(link-goto: "..o..", "Ending")]](set: $time to 3)(live: 1s)[(set: $time to it - 1)]<!-- COMMENT: This sets up a timer that will be processed by the "live" functions below-->
.(live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]]<!-- COMMENT: This graphical arrangement simply displays a random combination of symbols in 3 different lines, creating a unique 'signature' for each fragment. The two other graphical nodes are functionally identical to this one. The only difference is the type of simbols displayed-->(set: $time to 3)(live: 1s)[(set: $time to it - 1)]
.(live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]]
.(live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](set: $time to 3)(live: 1s)[(set: $time to it - 1)]
.(live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](live: 1s)[(either: ":.:", ":..:", ".", "..", "...", ".:.", ":", ":.", ":..", ":...", ".:", "..:", "...:")(if: $time is 0)[(stop:)]](set: $time to 4)(live: 1s)[(set: $time to it - 1)]
|(live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]]
|(live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]]
|(live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]]<!-- COMMENT: This algorithm will instantiate the first half of a story that develops throughout multiple nodes. It also determines a random alignment for the verse that will be instantiated-->(either: (align: "==>"), (align: "<=="))[(if: $counter is 1 and $multi is "A") [(display: "multi A first half 1")](else-if: $counter is 2 and $multi is "A")[(display: "multi A first half 2")](else-if: $counter is 3 and $multi is "A")[(display: "multi A first half 3")](else-if: $counter is 1 and $multi is "B")[(display: "multi B first half 1")](else-if: $counter is 2 and $multi is "B")[(display: "multi B first half 2")](else-if: $counter is 3 and $multi is "B")[(display: "multi B first half 3")](else-if: $counter is 1 and $multi is "C")[(display: "multi C first half 1")](else-if: $counter is 2 and $multi is "C")[(display: "multi C first half 2")](else-if: $counter is 3 and $multi is "C")[(display: "multi C first half 3")](else:)[This text would pop up if, somehow, the counters got screwed. I hope this never happens.]]<!-- COMMENT: Here, the algorithm is simply reading the global 'counter' variable and instantiating the contents of a specific node based on the value 'counter'. This assures that this story will progress linearly regardless of what 'random' node is selected by the main entanglement algorithm-->(if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3C")(set: $plural to "ON")As **reefs** of **co**ral **reach** for **sun**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3A")(set: $plural to "ON")Ten **thou**sand **bees** re**build**ing a **hive**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3B")(set: $plural to "ON")The **sly** bac**te**ria that **ma**keth man **whole**](if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3A")(set: $plural to "ON")The **hun**gry **pu**pae of un**coun**table **bees**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3B")(set: $plural to "OFF")A **hu**man **child** well **cov**ered in **womb**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3C")(set: $plural to "ON")The **youth**ful **motes** of **co**ral **fat**]<!-- COMMENT: Here, a version of the multi-node story will be selected based on the axis1 of the node in which this story is being instantiated. For example, if the first part of the multi-node story is being instantiated in a meso node, then said part of the story would be told from a meso perspective. The point here is telling a linear story with a dynamic perspective that changes from node to node based on the axis of the node in which it appears. In practice, this means that the multi-node story will have a fixed number of parts (in this case, 9), and that each part will have 3 versions, one for each possible axis1. Additionally, the axis3 value will be determined based on which version of the multinode story instantiates-->(if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3B")(set: $plural to "OFF")A **na**tion’s **worth** of **hu**man **flesh**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3C")(set: $plural to "OFF")A s**to**ny reef **co**ral too **sick**ened to **breathe**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3A")(set: $plural to "OFF")A **sin**gular **fur**-bound **a**frican **bee**]<!-- COMMENT: The following script loads all the audio files that will be used throughout the story.-->
<script>
var audio1 = document.createElement('audio');
audio1.src = 'https://feeds.soundcloud.com/stream/1044053458-jeanrac-galactic-loom-bass-1.mp3';
audio1.loop = true;
</script>
<script>
var audio2 = document.createElement('audio');
audio2.src = 'https://feeds.soundcloud.com/stream/1044053455-jeanrac-galactic-loom-bass-2.mp3';
audio2.loop = true;
</script>
<script>
var audio3 = document.createElement('audio');
audio3.src = 'https://feeds.soundcloud.com/stream/1044053443-jeanrac-galactic-loom-bass-3.mp3';
audio3.loop = true;
</script>
<script>
var audio4 = document.createElement('audio');
audio4.src = 'https://feeds.soundcloud.com/stream/1044053437-jeanrac-galactic-loom-chords-1.mp3';
audio4.loop = true;
</script>
<script>
var audio5 = document.createElement('audio');
audio5.src = 'https://feeds.soundcloud.com/stream/1044053434-jeanrac-galactic-loom-chords-2.mp3';
audio5.loop = true;
</script>
<script>
var audio6 = document.createElement('audio');
audio6.src = 'https://feeds.soundcloud.com/stream/1044053428-jeanrac-galactic-loom-chords-3.mp3';
audio6.loop = true;
</script>
<script>
var audio7 = document.createElement('audio');
audio7.src = 'https://feeds.soundcloud.com/stream/1044053419-jeanrac-galactic-loom-lead-a1.mp3';
audio7.loop = true;
</script>
<script>
var audio8 = document.createElement('audio');
audio8.src = 'https://feeds.soundcloud.com/stream/1044053410-jeanrac-galactic-loom-lead-a2.mp3';
audio8.loop = true;
</script>
<script>
var audio9 = document.createElement('audio');
audio9.src = 'https://feeds.soundcloud.com/stream/1044053407-jeanrac-galactic-loom-lead-a3.mp3';
audio9.loop = true;
</script>
<script>
var audio10 = document.createElement('audio');
audio10.src = 'https://feeds.soundcloud.com/stream/1044053404-jeanrac-galactic-loom-lead-a4.mp3';
audio10.loop = true;
</script>
<script>
var audio11 = document.createElement('audio');
audio11.src = 'https://feeds.soundcloud.com/stream/1044053395-jeanrac-galactic-loom-lead-a5.mp3';
audio11.loop = true;
</script>
<script>
var audio12 = document.createElement('audio');
audio12.src = 'https://feeds.soundcloud.com/stream/1044053386-jeanrac-galactic-loom-lead-a6.mp3';
audio12.loop = true;
</script>
<script>
var audio13 = document.createElement('audio');
audio13.src = 'https://feeds.soundcloud.com/stream/1044053380-jeanrac-galactic-loom-lead-a7.mp3';
audio13.loop = true;
</script>
<script>
var audio14 = document.createElement('audio');
audio14.src = 'https://feeds.soundcloud.com/stream/1044053368-jeanrac-galactic-loom-lead-a8.mp3';
audio14.loop = true;
</script>
<script>
var audio15 = document.createElement('audio');
audio15.src = 'https://feeds.soundcloud.com/stream/1044053359-jeanrac-galactic-loom-lead-a9.mp3';
audio15.loop = true;
</script>
<script>
var audio16 = document.createElement('audio');
audio16.src = 'https://feeds.soundcloud.com/stream/1044053353-jeanrac-galactic-loom-lead-b1.mp3';
audio16.loop = true;
</script>
<script>
var audio17 = document.createElement('audio');
audio17.src = 'https://feeds.soundcloud.com/stream/1044053347-jeanrac-galactic-loom-lead-b2.mp3';
audio17.loop = true;
</script>
<script>
var audio18 = document.createElement('audio');
audio18.src = 'https://feeds.soundcloud.com/stream/1044053335-jeanrac-galactic-loom-lead-b3.mp3';
audio18.loop = true;
</script>
<script>
var audio19 = document.createElement('audio');
audio19.src = 'https://feeds.soundcloud.com/stream/1044053329-jeanrac-galactic-loom-lead-b4.mp3';
audio19.loop = true;
</script>
<script>
var audio20 = document.createElement('audio');
audio20.src = 'https://feeds.soundcloud.com/stream/1044053323-jeanrac-galactic-loom-lead-b5.mp3';
audio20.loop = true;
</script>
<script>
var audio21 = document.createElement('audio');
audio21.src = 'https://feeds.soundcloud.com/stream/1044053314-jeanrac-galactic-loom-lead-b6.mp3';
audio21.loop = true;
</script>
<script>
var audio22 = document.createElement('audio');
audio22.src = 'https://feeds.soundcloud.com/stream/1044053305-jeanrac-galactic-loom-lead-b7.mp3';
audio22.loop = true;
</script>
<script>
var audio23 = document.createElement('audio');
audio23.src = 'https://feeds.soundcloud.com/stream/1044053302-jeanrac-galactic-loom-lead-b8.mp3';
audio23.loop = true;
</script>
<script>
var audio24 = document.createElement('audio');
audio24.src = 'https://feeds.soundcloud.com/stream/1044053299-jeanrac-galactic-loom-lead-b9.mp3';
audio24.loop = true;
</script>
<script>
var audio25 = document.createElement('audio');
audio25.src = 'https://feeds.soundcloud.com/stream/1044053422-jeanrac-galactic-loom-drums.mp3';
audio25.loop = true;
</script><!-- COMMENT: This script, to be ran at the beginning of each node, silences all the tracks (without stopping them). The only one that remains playing is the drum track, which is intended to never stop. --><script>audio1.volume = 0; audio2.volume = 0; audio3.volume = 0; audio4.volume = 0; audio5.volume = 0; audio6.volume = 0; audio7.volume = 0; audio8.volume = 0; audio9.volume = 0; audio10.volume = 0; audio11.volume = 0; audio12.volume = 0; audio13.volume = 0; audio14.volume = 0; audio15.volume = 0; audio16.volume = 0; audio17.volume = 0; audio18.volume = 0; audio19.volume = 0; audio20.volume = 0; audio21.volume = 0; audio22.volume = 0; audio23.volume = 0; audio24.volume = 0; audio25.volume = 1</script> <!-- COMMENT: This script synchronizes the soundbits again, as the vast number of audio files appears to create some sort of delay with repeated plays. This additional syncronization fixes the issue--><script> audio1.currentTime = 0; audio2.currentTime = 0; audio3.currentTime = 0; audio4.currentTime = 0; audio5.currentTime = 0; audio6.currentTime = 0; audio7.currentTime = 0; audio8.currentTime = 0; audio9.currentTime = 0; audio10.currentTime = 0; audio11.currentTime = 0; audio12.currentTime = 0; audio13.currentTime = 0; audio14.currentTime = 0; audio15.currentTime = 0; audio16.currentTime = 0; audio17.currentTime = 0; audio18.currentTime = 0; audio19.currentTime = 0; audio20.currentTime = 0; audio21.currentTime = 0; audio22.currentTime = 0; audio23.currentTime = 0; audio24.currentTime = 0; audio25.currentTime = 0</script> <!-- COMMENT: This script determines which tracks will be unmuted based on the content that instantiates in each node-->(if: $axis1 is "Axis1A") [<script>audio1.volume = 1</script>](else-if: $axis1 is "Axis1B")[<script>audio2.volume = 1</script>](else-if: $axis1 is "Axis1C")[<script>audio3.volume = 1</script>](if: $axis2 is "Axis2A") [<script>audio4.volume = 1</script>](else-if: $axis2 is "Axis2B")[<script>audio5.volume = 1</script>](else-if: $axis2 is "Axis2C")[<script>audio6.volume = 1</script>](if: $axis3 is "Axis3A") [<script>audio7.volume = 1</script>](else-if: $axis3 is "Axis3B")[<script>audio8.volume = 1</script>](else-if: $axis3 is "Axis3C")[<script>audio9.volume = 1</script>](else-if: $axis3 is "Axis3D")[<script>audio10.volume = 1</script>](else-if: $axis3 is "Axis3E")[<script>audio11.volume = 1</script>](else-if: $axis3 is "Axis3F")[<script>audio12.volume = 1</script>](else-if: $axis3 is "Axis3G")[<script>audio13.volume = 1</script>](else-if: $axis3 is "Axis3H")[<script>audio14.volume = 1</script>](else-if: $axis3 is "Axis3I")[<script>audio15.volume = 1</script>](if: $previousAxis3 is "Axis3A") [<script>audio16.volume = 1</script>](else-if: $previousAxis3 is "Axis3B")[<script>audio17.volume = 1</script>](else-if: $previousAxis3 is "Axis3C")[<script>audio18.volume = 1</script>](else-if: $previousAxis3 is "Axis3D")[<script>audio19.volume = 1</script>](else-if: $previousAxis3 is "Axis3E")[<script>audio20.volume = 1</script>](else-if: $previousAxis3 is "Axis3F")[<script>audio21.volume = 1</script>](else-if: $previousAxis3 is "Axis3G")[<script>audio22.volume = 1</script>](else-if: $previousAxis3 is "Axis3H")[<script>audio23.volume = 1</script>](else-if: $previousAxis3 is "Axis3I")[<script>audio24.volume = 1</script>]<!-- COMMENT: The following scripts play all the audio tracks, and set their volume to 0 so that they are not audible despite the fact that they are playing already. Since the files are meant to be played together, even the smallest delay in playback initation generated by the loading times of the files can be quite noticeable, so the "currentTime" function rewinds them all back to the beginning and assures that the audio will be syncronized -->
<script>
audio1.play();
audio2.play();
audio3.play();
audio4.play();
audio5.play();
audio6.play();
audio7.play();
audio8.play();
audio9.play();
audio10.play();
audio11.play();
audio12.play();
audio13.play();
audio14.play();
audio15.play();
audio16.play();
audio17.play();
audio18.play();
audio19.play();
audio20.play();
audio21.play();
audio22.play();
audio23.play();
audio24.play();
audio25.play()
</script>
<script>
audio1.volume = 0;
audio2.volume = 0;
audio3.volume = 0;
audio4.volume = 0;
audio5.volume = 0;
audio6.volume = 0;
audio7.volume = 0;
audio8.volume = 0;
audio9.volume = 0;
audio10.volume = 0;
audio11.volume = 0;
audio12.volume = 0;
audio13.volume = 0;
audio14.volume = 0;
audio15.volume = 0;
audio16.volume = 0;
audio17.volume = 0;
audio18.volume = 0;
audio19.volume = 0;
audio20.volume = 0;
audio21.volume = 0;
audio22.volume = 0;
audio23.volume = 0;
audio24.volume = 0;
audio25.volume = 1
</script>
<script>
audio1.currentTime = 0;
audio2.currentTime = 0;
audio3.currentTime = 0;
audio4.currentTime = 0;
audio5.currentTime = 0;
audio6.currentTime = 0;
audio7.currentTime = 0;
audio8.currentTime = 0;
audio9.currentTime = 0;
audio10.currentTime = 0;
audio11.currentTime = 0;
audio12.currentTime = 0;
audio13.currentTime = 0;
audio14.currentTime = 0;
audio15.currentTime = 0;
audio16.currentTime = 0;
audio17.currentTime = 0;
audio18.currentTime = 0;
audio19.currentTime = 0;
audio20.currentTime = 0;
audio21.currentTime = 0;
audio22.currentTime = 0;
audio23.currentTime = 0;
audio24.currentTime = 0;
audio25.currentTime = 0
</script><!-- COMMENT: This algorithm will instantiate the second half of a story that develops throughout multiple nodes. It also determines a random alignment for the verse that will be instantiated.-->(either: (align: "==>"), (align: "<=="))[(if: $counter is 1 and $multi is "A") [(display: "multi A second half 1")](else-if: $counter is 2 and $multi is "A")[(display: "multi A second half 2")](else-if: $counter is 3 and $multi is "A")[(display: "multi A second half 3")](else-if: $counter is 1 and $multi is "B")[(display: "multi B second half 1")](else-if: $counter is 2 and $multi is "B")[(display: "multi B second half 2")](else-if: $counter is 3 and $multi is "B")[(display: "multi B second half 3")](else-if: $counter is 1 and $multi is "C")[(display: "multi C second half 1")](else-if: $counter is 2 and $multi is "C")[(display: "multi C second half 2")](else-if: $counter is 3 and $multi is "C")[(display: "multi C second half 3")](else:)[This text would pop up if, somehow, the counters got screwed. I hope this never happens.]](if: $axis1 is "Axis1A") [grow **wings**, take **flight**, in**ha**bit the **breeze**](else-if: $axis1 is "Axis1B")[s**pins** and **pulls** a ga**lac**tic **loom**](else-if: $axis1 is "Axis1C")[latch **on**to the **world** by **sight** and **tact**](if: $axis1 is "Axis1A") [they **shape** the **Earth** by **rock** s**pun**](else-if: $axis1 is "Axis1B")[co**llect**, a**mass**, de**sign**, and **thrive**](else-if: $axis1 is "Axis1C")[en**shroud** his **gut** and **chi**sel his **soul**](if: $axis1 is "Axis1A") [re**turns** to **earth** to s**tart** a**fresh**](else-if: $axis1 is "Axis1B")[does **or**phan the **ur**chin, does **poi**son the **shrimp**](else-if: $axis1 is "Axis1C")[re**noun**ces her **en**trails **ra**ther than **flee**](set: $time to 5)(live: 1s)[(set: $time to it - 1)]
|(live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]]
|(live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]]
|(live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](live: 1s)[(either: "-", "|-", "-|")(if: $time is 0)[(stop:)]](if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3D")(set: $plural to "ON")A **hun**dred one **mi**llion **dan**delion **seeds**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3E")(set: $plural to "OFF")A **young** fig **high** de**ter**mined to **moil**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3F")(set: $plural to "OFF")A **trif**ling **mass** of **live**ly **moss**](if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3F")(set: $plural to "ON")S**tret**ches of **moss** ki**lo**meters **wide**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3D")(set: $plural to "OFF")A **patch** of a**bound**ing **a**nimated **grass**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3E")(set: $plural to "OFF")A **fig** with **wasp** en**coiled** in **heart**](if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3E")(set: $plural to "ON")A **thou**sand **fig** trees of **ro**tten **root**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3F")(set: $plural to "OFF")A **bed** of **moss** that is **old** and **thin**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3D")(set: $plural to "OFF")A **fun**gus de**vou**ring a **dan**delion **mound**](if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3G")(set: $plural to "OFF")Far **deep** with**in** the **earth** a **vein**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3H")(set: $plural to "OFF")An **e**on’s **worth** of **se**diment **rock**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3I")(set: $plural to "OFF")A **hot**ness **moves** where **cold**ness **lays**](if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3I")(set: $plural to "OFF")The **pa**tterned **wind** that **co**vers Earth **whole**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3G")(set: $plural to "OFF")A **sha**llow **pond** where **tad**poles are **born**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3H")(set: $plural to "ON")A **mi**llion s**pecks** of **rock** made **dust**](if: $axis1 is "Axis1A") [(set: $axis3 to "Axis3H")(set: $plural to "OFF")A **moun**tain **range** with **mol**ten **cores**](else-if: $axis1 is "Axis1B")[(set: $axis3 to "Axis3I")(set: $plural to "OFF")A **gust** of **wind** that **lifts** and **sinks**](else-if: $axis1 is "Axis1C")[(set: $axis3 to "Axis3G")(set: $plural to "OFF")A **drop** of **wa**tery **musk** of a **boar**](if: $axis1 is "Axis1A") [doth **take** to the **skies**, doth **fur**nish the **fields**](else-if: $axis1 is "Axis1B")[s**prouts** keen **roots** that **reach** for the **soil**](else-if: $axis1 is "Axis1C")[e**rupts** in **count**less **ti**ny s**pores**](if: $axis1 is "Axis1A") [en**moist** the **world**, pro**tect** and pro**vide**](else-if: $axis1 is "Axis1B")[grows **ye**llow, **ye**llow, **dan**delion **mass**](else-if: $axis1 is "Axis1C")[se**cures** its **life** when **torn** a**part**](if: $axis1 is "Axis1A") [pro**duce** a **win**ter de**void** of **fruit**](else-if: $axis1 is "Axis1B")[does **not** sur**vive** the **win**ter **lean**](else-if: $axis1 is "Axis1C")[dis**tri**butes **dan**delion **far** and a**bound**](if: $axis1 is "Axis1A") [be**comes** a **lake**, an **o**cean, **rain**](else-if: $axis1 is "Axis1B")[be**comes** a **path** for **deer** to **walk**](else-if: $axis1 is "Axis1C")[**temp**ting **air** to **surge** and **sway**](if: $axis1 is "Axis1A") [goes a**round** the **world** to **reach** for the **poles**](else-if: $axis1 is "Axis1B")[is **shel**ter at **night**, is **grave** in the **morn**](else-if: $axis1 is "Axis1C")[in**ha**bit **grime**, en**shel**ter **rust**](if: $axis1 is "Axis1A") [re**shapes** the **world**, de**signs** new **shores**](else-if: $axis1 is "Axis1B")[is **made** the **breath** of a **poun**cing **lynx**](else-if: $axis1 is "Axis1C")[boils **hot**, s**teams**, an in**au**dible **roar**](set: $timeelip to 5)(live: 0.5s)[(set: $timeelip to it - 0.5)](live: 0.5s)[(if: $timeelip is 5)[](if: $timeelip is 4.5)[](if: $timeelip is 4)[](if: $timeelip is 3.5)[.](if: $timeelip is 3)[..](if: $timeelip is 2.5)[...](if: $timeelip is 2)[](if: $timeelip is 1.5)[.](if: $timeelip is 1)[..](if: $timeelip is 0.5)[...](if: $timeelip is 0)[(stop:)]]